import { domainService } from '~/config/server';
import { NetService } from '~/utils/net.service';
import { Inject, Debounce } from '~/core/decorator';
import { FilterService } from '~/utils/filter.service';

export class LegalCaseManageService {
    @Inject(NetService)
    private netService: NetService;

    /**
     * 法务待分配查询列表
     */
    public waitDistribution(data, page?, sort?) {
        return this.netService.send({
            server: domainService.legalCaseManageController.waitDistribution,
            data,
            page,
            sort,
        });
    }

    /**
     * 法务个人案件池查询列表
     */
    public personalCasePool(data, page?, sort?) {
        return this.netService.send({
            server: domainService.legalCaseManageController.personalCasePool,
            data,
            page,
            sort,
        });
    }

    /**
     * 法务团队案件池查询列表
     */
    public teamCasePool(data, page?, sort?) {
        return this.netService.send({
            server: domainService.legalCaseManageController.teamCasePool,
            data,
            page,
            sort,
        });
    }

    /**
     * 回收案件池查询列表
     */
    public recoverCasePool(data, page?, sort?) {
        return this.netService.send({
            server: domainService.legalCaseManageController.recoverCasePool,
            data,
            page,
            sort,
        });
    }

    /**
     * 结清案件池查询列表
     */
    public settleCasePool(data, page?, sort?) {
        return this.netService.send({
            server: domainService.legalCaseManageController.settleCasePool,
            data,
            page,
            sort,
        });
    }

    /**
     * 结清案件池查询列表
     */
    public pauseCasePool(data, page?, sort?) {
        return this.netService.send({
            server: domainService.legalCaseManageController.pauseCasePool,
            data,
            page,
            sort,
        });
    }

    /**
     * 归C案件池查询列表
     */
    public returnCCasePool(data, page?, sort?) {
        return this.netService.send({
            server: domainService.legalCaseManageController.returnCCasePool,
            data,
            page,
            sort,
        });
    }

    /**
     * 法务案件待分配手动分案预览
     */
    public legalCaseManualDistribution(data) {
        return this.netService.send({
            server: domainService.legalCaseManageController.legalCaseManualDistribution,
            data,
        });
    }
    /**
     * 法务案件待分配手动分案确定分案
     */
    public confirmDistributeCase(data) {
        return this.netService.send({
            server: domainService.legalCaseManageController.confirmDistributeCase,
            data,
        });
    }

    /**
     * 法务案件手动分案预览
     */
    public reviewDistributeCase(data) {
        return this.netService.send({
            server: domainService.legalCaseManageController.reviewDistributeCase,
            data,
        });
    }

    /**
     * 案件回收
     */
    public returnCase(data) {
        return this.netService.send({
            server: domainService.legalCaseManageController.returnCase,
            data,
        });
    }

    /**
     * 移入法务待分配
     */
    public moveToWaitDistribution(data) {
        return this.netService.send({
            server: domainService.legalCaseManageController.moveToWaitDistribution,
            data,
        });
    }

    /**
     * 个人案件池查询列表逾期总金额
     */
    public personalCasePoolAmount(data) {
        return this.netService.send({
            server: domainService.legalCaseManageController.personalCasePoolAmount,
            data
        });
    }
    /**
     * 团队案件池查询列表逾期总金额
     * @param data
     */
    public teamCasePoolAmount(data) {
        return this.netService.send({
            server: domainService.legalCaseManageController.teamCasePoolAmount,
            data
        });
    }
    /**
     * 出催案件池查询金额统计
     * @param data
     */
    public settleCasePoolAmount(data) {
        return this.netService.send({
            server: domainService.legalCaseManageController.settleCasePoolAmount,
            data
        });
    }
}
